import App from './App'
import Vue from 'vue'
// 导入 store 的实例对象
import store from './store/store.js'

// 导入请求路径
import {
	baseUrl
} from "@/baseUrl.js"

// 导入网络请求包
import {
	$http
} from '@escook/request-miniprogram'

// 引入消息订阅和发布
import pubsub from 'pubsub-js'

// 引入自定义插件
import plugins from "./plugins/plugins"

// 注册使用
Vue.use(plugins)

// 往uni身上挂载一个请求方法
uni.$http = $http
//配置根路径
$http.baseUrl = baseUrl

// 请求开始之前做一些事情
$http.beforeRequest = function(options) {
	if (options.data.login == true) {
		uni.showLoading({
			title: '登录中...',
		})
	}
	const token = uni.getStorageSync("userObj").token || {}
	options.header = {
		'token': token,
	}
}
// 请求完成之后做一些事情
$http.afterRequest = function() {
	uni.hideLoading()
}

// 封装弹框的方法
uni.$showMsg = function(title = '加载失败', duration = 1500) {
	title;
	duration;
	icon: 'none';
}

// 消息订阅和发布、
Vue.prototype.$pubsub = pubsub

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	...App,
	store,
})
app.$mount()
